<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::BlendFunc</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::BlendFunc</A></H2></H2><BLOCKQUOTE>BlendFunc - encapsulates the OpenGL blend/transparency state</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CBlendFunc,MBlendFunc.html">
<param name=before value="M,M,M,M">
<param name=after value="Md_SPSP,Md_SP,Md_,M">
<param name=indent value="0,1,2,3">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.7.1">BlendFunc</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.7.2">BlendFunc</A></B>(const <!1><A HREF="BlendFunc.html#DOC.2.7.2">BlendFunc</A>&amp; trans, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.7.3">META_StateAttribute</A></B>(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="BlendFunc.html">BlendFunc</A>, <!1><A HREF="StateAttribute.html#DOC.2.119.6.28">BLENDFUNC</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   int <B><A HREF="#DOC.2.7.4">compare</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; sa) const 
<DD><I>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.7.5">getAssociatedModes</A></B>(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.119.1">GLMode</A>&gt;&amp; modes) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.7.7">setFunction</A></B>( const int source, const int destination )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.7.8">setSource</A></B>(const int source)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.7.9">getSource</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.7.10">setDestination</A></B>(const int destination)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.7.11">getDestination</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.7.12">apply</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const 
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.7.6">BlendFuncMode</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.7.14">_source_factor</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.7.15">_destination_factor</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.7.13">~BlendFunc</A></B>()
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="StateAttribute.html">StateAttribute</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B>cloneType</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B>clone</B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>isSameKindAs</B>(const <!1><A HREF="Object.html">Object</A>* obj) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   const char* <B>libraryName</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   const char* <B>className</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   const <!1><A HREF="StateAttribute.html#DOC.2.119.5">Type</A> <B>getType</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>isTextureAttribute</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator <  </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator == </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator != </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual   void <B>compile</B>(<!1><A HREF="State.html">State</A>&amp;) const 
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef  GLenum <B>GLMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>GLModeValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>OverrideValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>Values</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>Type</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>Types</B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setDataVariance</B>(const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>getDataVariance</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const 
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>DataVariance</B>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt;  <B>_userData</B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>ref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref_nodelete</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const int <B>referenceCount</B>() const 
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>BlendFunc - encapsulates the OpenGL blend/transparency state</BLOCKQUOTE>
<DL>

<A NAME="BlendFunc"></A>
<A NAME="DOC.2.7.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BlendFunc()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="BlendFunc"></A>
<A NAME="DOC.2.7.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BlendFunc(const <!1><A HREF="BlendFunc.html#DOC.2.7.2">BlendFunc</A>&amp; trans, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
<A NAME="META_StateAttribute"></A>
<A NAME="DOC.2.7.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_StateAttribute(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="BlendFunc.html">BlendFunc</A>, <!1><A HREF="StateAttribute.html#DOC.2.119.6.28">BLENDFUNC</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.7.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int compare(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; sa) const </B></TT>
<DD>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
<DL><DT><DD></DL><P>
<A NAME="getAssociatedModes"></A>
<A NAME="DOC.2.7.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void getAssociatedModes(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.119.1">GLMode</A>&gt;&amp; modes) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="BlendFuncMode"></A>
<A NAME="DOC.2.7.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  BlendFuncMode</B></TT>
<DL><DT><DD></DL><P><DL>

<A NAME="DST_ALPHA"></A>
<A NAME="DOC.2.7.6.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DST_ALPHA</B></TT>
<DL><DT><DD></DL><P>
<A NAME="DST_COLOR"></A>
<A NAME="DOC.2.7.6.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DST_COLOR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ONE"></A>
<A NAME="DOC.2.7.6.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ONE_MINUS_DST_ALPHA"></A>
<A NAME="DOC.2.7.6.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_DST_ALPHA</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ONE_MINUS_DST_COLOR"></A>
<A NAME="DOC.2.7.6.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_DST_COLOR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ONE_MINUS_SRC_ALPHA"></A>
<A NAME="DOC.2.7.6.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_SRC_ALPHA</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ONE_MINUS_SRC_COLOR"></A>
<A NAME="DOC.2.7.6.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_SRC_COLOR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="SRC_ALPHA"></A>
<A NAME="DOC.2.7.6.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SRC_ALPHA</B></TT>
<DL><DT><DD></DL><P>
<A NAME="SRC_ALPHA_SATURATE"></A>
<A NAME="DOC.2.7.6.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SRC_ALPHA_SATURATE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="SRC_COLOR"></A>
<A NAME="DOC.2.7.6.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SRC_COLOR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ZERO"></A>
<A NAME="DOC.2.7.6.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ZERO</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="setFunction"></A>
<A NAME="DOC.2.7.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setFunction( const int source, const int destination )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setSource"></A>
<A NAME="DOC.2.7.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSource(const int source)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getSource"></A>
<A NAME="DOC.2.7.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int getSource() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setDestination"></A>
<A NAME="DOC.2.7.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDestination(const int destination)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getDestination"></A>
<A NAME="DOC.2.7.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int getDestination() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.7.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="~BlendFunc"></A>
<A NAME="DOC.2.7.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~BlendFunc()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_source_factor"></A>
<A NAME="DOC.2.7.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _source_factor</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_destination_factor"></A>
<A NAME="DOC.2.7.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _destination_factor</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
